diff --git a/sympy/sets/fancysets.py b/sympy/sets/fancysets.py
index 34a35faed2..4e7177f828 100644
--- a/sympy/sets/fancysets.py
+++ b/sympy/sets/fancysets.py
@@ -648,6 +648,10 @@ def __new__(cls, *args):
     stop = property(lambda self: self.args[1])
     step = property(lambda self: self.args[2])
 
+    @property
+    def is_finite_set(self):
+        return (self.stop - self.start).is_finite and self.step.is_finite
+
     @property
     def reversed(self):
         """Return an equivalent Range in the opposite order.
@@ -878,7 +882,11 @@ def __getitem__(self, i):
     def _inf(self):
         if not self:
             raise NotImplementedError
-        if self.has(Symbol):
+        if self.start.is_infinite:
+            return S.NegativeInfinity
+        elif self.start.is_Symbol:
+            return self.start
+        elif self.has(Symbol):
             if self.step.is_positive:
                 return self[0]
             elif self.step.is_negative:
@@ -893,7 +901,11 @@ def _inf(self):
     def _sup(self):
         if not self:
             raise NotImplementedError
-        if self.has(Symbol):
+        if self.stop.is_infinite:
+            return S.Infinity
+        elif self.stop.is_Symbol:
+            return self.stop
+        elif self.has(Symbol):
             if self.step.is_positive:
                 return self[-1]
             elif self.step.is_negative:
